import mountComponent from "./mountComponent";
import mountNativeElement from "./mountNativeElement";
/**
 * 渲染vDom，挂载到container上
 * @param {*} vDom 
 * @param {*} container 
 * @param {*} oldDom 
 */
export default function mountElement(vDom, container, oldDom) {
  // vdom有两种可能类型，一种是component，一种是普通element
  // 如果vDom是函数，则认为vDom是一个组件，否则渲染普通元素
  if (isFunction(vDom)) {
    mountComponent(vDom, container, oldDom)
  } else {
    mountNativeElement(vDom, container, oldDom)
  }
}

export function isFunction(vDom) {
  // vDom的type为function，认为vDom是属于组件的
  return vDom && typeof vDom.type === 'function'
}